Setback reporting thermostat

ABSTRACT

A thermostat receives requests to enter into setback modes of operation whereby at least one set point normally used by the thermostat is changed. The thermostat is operative to compute the time that elapses during each setback mode of operation. The thermostat is also operative to maintain a running total of such computed times in order to respond to any request for the total accumulated time that has elapsed in the setback modes of operation. This includes computing, if necessary, the amount of time that has elapsed in a setback mode of operation occurring during a request for the total accumulated time. The thermostat is furthermore operative to set the total accumulated time to zero in response to a request to initialize the total accumulated time.

BACKGROUND OF THE INVENTION

The present invention relates to thermostats having the capability oftracking, recording, and reporting setback information to a remotelylocated entity.

Thermostats have heretofore received and implemented setbacks of locallyprogrammed setpoints in response to receiving setback information from aremotely located source such as an energy provider. An example of such athermostat is disclosed in commonly assigned U.S. patent applicationSer. No. 09/456,355 entitled “Communicating Thermostat”. Theaforementioned thermostat includes an ability within the thermostat tooverride a request by the energy provider to adjust the locallyprogrammed setpoints. When this occurs, a communication is generated tothe energy provider informing the energy provider that an override hasoccurred.

The above described thermostat requires that the energy provider mustkeep track of when such overrides occur so as to maintain an accuraterecord of the amount of time the thermostat has participated in arequested adjustment of the locally programmed setpoints. This can poseparticular problems for an energy provider who might need to receive andprocess such overrides from quite a few communicating thermostatspossibly at or near the same time. The energy provider must also makesure that the record or database it maintains of such overrideinformation is preserved since there is no ability to further query theindividual thermostats as to their respective participation in requestedsetbacks or curtailments of locally programmed setpoints.

SUMMARY OF THE INVENTION

It is an object of this invention to provide a thermostat that allows aremotely located source such as an energy provider to determine when thelatter wishes to receive override information from the thermostatrelative to participation in requested setbacks or adjustments ofsetpoints.

The above and other objects are achieved by a thermostat which maintainsa record of the elapsed time in any presently occurring setback mode ofoperation being implemented by the thermostat as well as the elapsedtimes in any setback modes of operation previously implemented by thethermostat. The record of the presently occurring mode of setbackoperation as well as any previous setback modes of operation is storedfor retrieval by a remotely located entity, which is usually an energyprovider seeking an accurate record of time spent in setback modes ofoperation by the thermostat. This time record is available for retrievalat any time, including a time when the thermostat is presently in asetback mode of operation. The thermostat also preferably allows therequester to clear the accumulated time record or simply read the timerecord without clearing. In either case, the thermostat preferablycontinues to track any time during which the thermostat is in a currentsetback mode of operation. This includes the tracking of any remainingtime in a current setback mode of operation when the accumulated timerecord is cleared.

BRIEF DESCRIPTION OF THE DRAWINGS

For a fuller understanding of the present invention, reference shouldnow be made to the following detailed description taken in conjunctionwith the accompanying drawings, wherein:

FIG. 1 is a block diagram of a thermostat and transceiver, wherein thetransceiver is in communication with a remotely located device (notshown) so as to thereby receive and/or transmit information to theremotely located device;

FIG. 2 is a block diagram of elements within the thermostat including amicroprocessor that is responsive to signals from the transceiver;

FIGS. 3A, 3B and 3C are a flowchart of the program implemented by theprocessor of FIG. 2 so as to respond to communications from thetransceiver; and

FIG. 4 is a flowchart of a sub-routine within the program of FIGS. 3A,3B and 3C.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to FIG. 1, a thermostat 10 is operatively connected to atransceiver 12 via a communication line 14 so as to receive or transmitinformation to the transceiver 12. A transceiver 12 in turn is incommunication with a remotely located device (not shown). Thetransceiver 12 provides a communication link between the thermostat 10and a remotely located device (not shown), which provides set pointcontrol information to the thermostat 10. The remotely located device ispreferably controlled by an energy provider seeking to provide costeffective set point control information to the thermostat 10.

The thermostat preferably causes messages to be displayed on a display16 in response to receipt of information from the remotely locateddevice that is preferably controlled by an energy provider. Thisincludes the display of a message that the thermostat is in a setbackmode of operation wherein the locally entered set point has beenadjusted or altered in response to a request from the remotely locateddevice preferably controlled by an energy provider. A touch sensitivebutton 18 on the front panel of the thermostat can be depressed any timeone wishes to override the setback mode of operation.

Referring to FIG. 2, the touch-sensitive button 18 is illustrated as aswitch connected to a microprocessor 20 which is in turn connected tothe display 16. The microprocessor 20 is also connected to a temperaturesensor 22 and a memory 24. The microprocessor normally executes one ormore control programs stored in memory 24, which monitor any variationof the temperature indicated by the sensor 22 with respect to one ormore locally entered setpoints preferably stored in the memory 24. Thesecontrol programs cause the microprocessor to control an HVAC system 26through relay logic 28 so as to thereby heat or cool the space in whichthe thermostat is located as necessary.

The microprocessor 20 also executes a program stored in memory 24, whichprocesses information received from the transceiver 12 via the line 14.This latter program, when executed by the microprocessor, willpreferably implement adjustments to the locally entered setpoints thathave been stored in the memory 24. It is, however, to be noted that thisprogram may simply replace the locally entered setpoints withoutdeparting from the invention. The microprocessor will thereafter executethe one or more control programs stored in the memory 24 so as tomonitor any variation of the temperature indicated by the temperaturesensor 22 with respect to the now modified setpoints. The program willfurthermore cause the microprocessor to track and maintain an accuraterecord of the amount of time during which the thermostat remains in thissetback or curtailment mode of operation. The program processor willmoreover maintain any record of any past setback or curtailment modes ofoperation so as to thereby provide an accurate record of setback usageupon receipt of a request from the energy provider.

Referring to FIGS. 3A, 3B and 3C, a flowchart of the steps executed bythe microprocessor 20 in response to receipt of information concerningsetback or curtailment of locally entered setpoints is illustrated. Ashas been previously discussed, the microprocessor will receive thisinformation from the transceiver 12 via the line 14. The flowchartbegins with a step 30 wherein certain variables used by the program areinitialized. These include SB_TIMER, SB_ACTIVE, SETBACK_RECORD andSB_TOTAL. The microprocessor proceeds from a step 30 to a step 32 andinquires as to whether SB_ACTIVE is equal to one. Since this variablewill have been initially set equal to zero, the microprocessor wouldproceed to a step 34 and inquire as to whether the SETBACK_RECORD equalszero. It is to be appreciated that the microprocessor 20 willindependently of the program illustrated in FIG. 3, respond to acommunication passed along by the transceiver 12 regarding any setbackof the setpoint that may be requested by the energy provider.SETBACK_RECORD will be set equal to one when this occurs. The processorwill furthermore store information pertaining to the requested setbackin the memory 24. This information will preferably include values forthe following variables: SB_SETPOINTOFFSET, SB_STARTTIME, and SB_PERIOD.

SB_SETPOINTOFFSET is the amount by which the locally setpoints are to beadjusted whereas SB_STARTTIME is the preferred time in which the setbackof the setpoints is to begin. SB_PERIOD is the amount of time duringwhich the particular setback mode of operation is to occur. Assuming asetback request has been received and stored in the memory, theprocessor will proceed along a yes path to a step 36 and store thevalues for SB_SETPOINTOFFSET, SB_STARTTIME and SB_PERIOD. The processorwill proceed to a step 38 and compute the value of SB_ENDTIME, which isthe sum of SB_STARTTIME plus SB_PERIOD.

The processor will proceed from step 38 to a step 44 and read the“TIME_OF_DAY”. This is preferably read from an internal system clockwithin the microprocessor, which tracks time by at least the totalnumber of minutes in a twenty-four hour day. The processor proceeds fromstep 44 to step 46 and inquires as to whether the TIME_OF_DAY read instep 44 is equal to SB_STARTTIME.

Assuming that the time of day is not equal to SB_STARTTIME, theprocessor will proceed along a no path out of step 46 to a step 48 andread the currently stored values of heat setpoint, T_(h) and coolsetpoint, T_(c). The microprocessor will thereafter proceed to step 50and read the temperature sensor 22 and thereafter control the HVACsystem 26 to either T_(h) or T_(c). It is to be appreciated that suchcontrol is defined by a separate control program, which reads thetemperature sensor 22 and thereafter controls the HVAC system 26 so asto either achieve the heat setpoint T_(h) or the cool setpoint T_(c). Itis to be appreciated that the setpoint which is used will depend on theHVAC system. If the HVAC system is, for example, a reversible heat pump,then the mode of operation of the heat pump will determine whether T_(h)or T_(c) is used. The processor will proceed to step 52 and display amessage on the display 16 that the thermostat is in a “normal” mode ofoperation. The processor will proceed from step 52 through a junction Ato a step 54 and inquire as to whether or not a request has beenreceived for a report on setback usage by the thermostat. It is to beunderstood that such a request would normally be initiated by the energyprovider and stored in the memory 24 for inquiry by the microprocessorin step 54. Assuming that no such setback usage has occurred, theprocessor will proceed along the no path to a step 56 and inquire as towhether a communication has been received from the energy providerrequesting that setback usage be initialized. Assuming that such aninitialization has not been requested, the processor will proceed alongthe no path to junction B and return to step 32.

Since the value of SB_ACTIVE is still zero, the processor will proceedthrough steps 34-46, as has been previously discussed. Assuming that theread time of day in step 44 now equals SB_STARTTIME, the processor willproceed along the yes path out of step 46 to a step 58. Referring tostep 58, the processor will first set the variable SB_ACTIVE equal toone. The processor will also set a variable Δ equal toSB_SETPOINTOFFSET. The microprocessor will still furthermore compute thevalue of a variable “t” as being equal to SB_ENDTIME minus SB_STARTTIME.The processor may again need to account for any transition between oneday and the next when doing this computation. In this regard, SB_ENDTIMEwould need to be adjusted by the total time in one day in the event thatSB_STARTTIME is near the end of one day and SB_ENDTIME occurs the nextday.

The final computation within step 58 is to set SB_INITIAL_START equal toSB_STARTTIME. The processor will proceed to step 60 and set a softwaretimer SB_TIMER equal to “t” and initiate a decrementing of the softwaretimer. The processor will next proceed from step 60 to a step 62 andread the locally entered setpoints T_(h) and T_(c) from memory 24. Theprocessor will next proceed to a step 64 and adjust the values of T_(h)and T_(c) by the value of Δ. This will effectively lower the heatsetpoint T_(h) by the amount of Δ and raise the cool setpoint T_(c) bythe amount Δ. The processor will proceed to step 66 and read thetemperature sensor 22 and control the HVAC system 26 in accordance witheither T′_(h) or T′_(c) as computed in step 64. In this manner, the HVACcontrol system will now be controlling the HVAC system to a lower heatsetpoint or to a higher cool setpoint so as to thereby produce anincremental savings of energy costs. The processor will proceed to astep 68 and display the current value of SB_TIMER and a messageindicating that the thermostat is in a curtailment or setback mode ofoperation. The processor will proceed through steps 54 and 56 in theevent that neither setback usage or an initialization of setback usagehave been requested by the energy provider.

The processor will again return to step 32 and inquire as to whetherSB_ACTIVE is equal to one. Since SB_ACTIVE will have been set equal toone in step 58, the processor will proceed along the yes path to a step70 and inquire as to whether the software time, SB_TIMER, has beendecremented to zero. Assuming that the SB_TIMER is not equal to zero,the processor will proceed to a step 72 and inquire as to whether theoverride button 18 has been depressed. Assuming that the override button18 has not been depressed, the processor will proceed to a step 74 andinquire as whether either the locally entered heat setpoint “T_(h)” orthe locally entered cool setpoint “T_(c)” has changed between successiveexecutions of the logic of FIG. 3. This is preferably accomplished bycomparing the time of day with any user programmed setpoint change timesin memory 24. If the time of day is within a very small predefined rangeof a programmed setpoint change time in memory 24, then the values ofthe new locally entered setpoints for the particular change time areread and stored as T_(h) and T_(c). The processor will then proceed tostep 64 and adjust the new locally entered setpoints T′_(h) and T′_(c).

The processor will proceed either from step 74 or step 64 to step 66 andimplement the control of the HVAC system 26, as has been previouslydescribed. The display will be updated in accordance with step 68 beforeproceeding through steps 54 and 56 in the event that setback usage hasnot been requested.

Referring again to step 32, the processor will again inquire as towhether SB_ACTIVE is equal to one. Since the thermostat is in a setbackmode of operation, the processor will again proceed to step 70 andinquire as to whether the SB_TIMER equals zero. Assuming that SB_TIMERhas now been decremented to zero, the processor will proceed along theyes path to a step 76 and set SB_ACTIVE equal to zero. The processorwill proceed to a step 78 and initiate a sub-routine entitled“COMPUTE_SETBACK_PARTICIPATION”. This particular sub-routine isillustrated in FIG. 4.

Referring to FIG. 4, the COMPUTE_SETBACK_PARTICIPATION sub-routinebegins with a step 80 wherein the current time of day is read as well asthe value of the variables SB_INITLAL_START and SB_TOTAL. It will beremembered that the value of SB_INITIAL_START will have been computed instep 58 to be equal to the TIME_OF_DAY read in step 44 when thethermostat enters a setback mode of operation. SB_TOTAL, on the otherhand, will initially be equal to zero as required in step 30.

The processor proceeds from step 80 to a step 82 and inquires as towhether the currently read TIME_OF_DAY is greater than SB_INITIAL_START.In the event that the currently read TIME_OF_DAY is greater thanSB_INITIAL_START, the processor will proceed along the yes path to astep 84 and compute the value of a variable denoted as SB_CURRENT.Referring to step 84, SB_CURRENT is equal to the TIME_OF_DAY as read instep 80 minus the value of SB_INITIAL_START. It is to be appreciatedthat this computation should yield the current amount of setback timethat has expired since SB_ACTIVE was set equal to one in step 58.Referring again to step 82, in the event that the TIME_OF_DAY is notgreater than SB_INITIAL_START, then the processor will proceed along theno path and compute the value of the SB_CURRENT variable in anothermanner. Specifically, SB_CURRENT will be equal to the value ofTOTAL_TIME_ONE_DAY plus TIME_OF_DAY minus SB_INITIAL_START. In thisregard, the value of the variable TOTAL_TIME_ONE_DAY is the total amountof time in a given day expressed in terms of total number of minutes inthe day or whatever unit of time is used in the particular embodiment.It is to be appreciated that the computation of SB_CURRENT in step 86 isnecessary in the event that a transition has occurred from one day tothe next following the time indicated by SB_INITIAL_START.

Referring now to step 88, the value of the variable SB_TOTAL is computedas a function of the determined value of SB_CURRENT out of either steps84 or 86. SB_TOTAL is seen to be equal to the sum of any previous valueof SB_TOTAL plus the value of SB_CURRENT. Since SB_TOTAL was initiallyset equal to zero in step 30, the value of SB_TOTAL, as first computedin step 88, should merely be the value of SB_CURRENT. It is, however, tobe understood that if there have been previous setback modes ofoperation of the thermostat, then the value of SB_TOTAL out of step 88will be equal to the previously determined SB_TOTAL plus SB_CURRENT. Theprocessor proceeds from the computation of SB_TOTAL in step 88 to step90 wherein inquiry is made as to whether SB_TOTAL is greater thanMAX_SB_VALUE. MAX_SB_VALUE is preferably a value set by the energyprovider as the maximum setback usage amount that may be claimed by theuser of the thermostat during any one particular billing. This value maybe hard coded into the software or it may be transmitted to thethermostat at any point in time and stored in the memory 24 for use whenstep 90 is encountered. In the event that the SB_TOTAL exceedsMAX_SB_VALUE, the processor proceeds to step 92 and sets SB_TOTAL equalto MAX_SB_VALUE. Otherwise, the microprocessor proceeds along the nopath out of step 90 to return step 94. The processor proceeds out of thesub-routine of FIG. 4 back to step 78 wherein the processor proceeds tostep 96 and sets SETBACK_RECORD equal to zero.

The processor proceeds from step 96 to step 48 wherein the locallyprogrammed setpoints T_(h) and T_(c) are read before proceeding to step50 to control the HVAC system in accordance with the appropriate locallyentered setpoint T_(h) or T_(c). In this regard, the processor will haveleft the setback mode of operation and will now be using normal localunit setpoints to control the HVAC system. The processor will proceedthrough steps 52, 54, and 56, as has been previously described, beforereturning to step 32. Since SB_ACTIVE will have been previously setequal to zero in step 76, the processor will proceed along the no pathout of step 32 to inquire as to whether SETBACK_RECORD equals one. If itdoes not, the microprocessor will proceed along the no path to step 48and again execute steps 48-56, as has been previously described.

Referring again to step 34, in the event that SETBACK_RECORD is equal toone at some point, then the processor will again read the values ofSB_SETPOINTOFFSET, SB_STARTTIME, and SB_PERIOD from the memory 24 instep 36. The processor will next proceed through steps 36-46 todetermine whether the current TIME_OF_DAY is equal to SB_STARTTIME.Assuming that at some point TIME_OF_DAY is equal to SB_STARTTIME, theprocessor will proceed through steps 58-68 and hence through 54-56 ashas been previously discussed. The processor will, on the next executionof the logic of FIG. 3, proceed back through step 32 and now exit alongthe yes path to step 70. Assuming that the SB_TIMER is not equal tozero, the processor will proceed to a step 72 and inquire whether theoverride button 18 has been depressed. It will be remembered that theoverride button 18 will have been depressed in the event that the userwishes to override the setback mode of operation, as displayed on thedisplay 16. If this occurs, the processor will proceed along the yespath out of step 72 and set SB_TIMER equal to zero in a step 96. Theprocessor will proceed to set SB_ACTIVE equal to zero in step 76 beforeproceeding in step 78 to the sub-routine for computing setbackparticipation of FIG. 4.

Referring to FIG. 4, the current TIME_OF_DAY as well as the values ofSB_INITIAL_START and SB_TOTAL will be read in step 80. Inquiry will nextbe made as to whether the TIME_OF_DAY is greater than SB_INITIAL_STARTand the appropriate computation of SB_CURRENT thereafter will be made ineither step 84 or 86. The value of SB_TOTAL will again be computed instep 88. Since the processor has previously computed a value ofSB_TOTAL, the computation in step 88 will be the previous value ofSB_TOTAL plus the computed value of SB_CURRENT in either step 84 or 86.The thus computed value of SB_TOTAL will be compared to MAX_SB_VALUE instep 90 and appropriately capped in step 92, if necessary. The processorwill proceed to return to step 78 and thereafter proceed through steps96 and 48-54. Assuming that a setback usage request has not beenreceived in step 54, the processor will proceed through steps 54 and 56and return to step 32, as has been previously discussed.

Referring again to step 32, it is to be appreciated that at some pointin time during the successive executions of the logic of FIG. 3, anotherSETBACK_RECORD flag equal to one may occur. When this happens,SB_SETPOINTOFFSET and SB_STARTTIME and SB_PERIOD will again be read fromthe memory 24 in step 34. At some point the TIME_OF_DAY will again beequal to SB_STARTTIME. The processor will now enter into a setback modeof operation by setting SB_ACTIVE equal to one in step 58. The processorwill proceed through steps 60, 62, 64, 66 and 68, as has been previouslydescribed, before encountering step 54. Assuming that a setback usagerequest has been made and stored in the memory 24, the processor willproceed out of step 54 to step 98 and clear the thus stored setbackusage request in memory 24. The processor will proceed to step 100 andimplement the setback participation sub-routine of FIG. 4. As has beenpreviously discussed, the TIME_OF_DAY will be read and compared withSB_INITIAL_START before computing the value of SB_CURRENT in either step84 or 86. The processor will proceed in step 88 to compute the value ofSB_TOTAL. The thus computed value of SB_TOTAL will be clamped atMAX_SB_VALUE, if necessary, in step 92 before returning to step 100. Theprocessor will proceed from step 100 to step 102 wherein a message willbe sent to the transceiver 12, which will in turn communicate with theenergy provider's receiving device. The message will include the valueof SB_TOTAL. The processor will next proceed to step 104 and inquire asto whether SB_ACTIVE is equal to zero. It will be remembered that therequest for setback usage was encountered during a time in which thesetback mode of operation was in effect. SB_ACTIVE would hence still beequal to one prompting the processor to proceed from step 104 to step106. Referring to step 106, the variable SB_INITIAL_START will be setequal to the currently read time of day from the system clock. Thiswill, essentially, set a new SB_INITIAL_START that is equal to thepresently read TIME_OF_DAY. The processor will proceed from step 106 tostep 56.

Referring to step 56, it is to be noted that this step may also beencountered out of step 104. The processor will have proceeded out ofstep 104 to step 56 in the event that the thermostat was no longer in asetback mode of operation, as indicated by SB_ACTIVE being equal tozero. The processor will proceed to inquire in step 56 as to whether aninitialization of setback usage request has been received and stored inthe memory 24. This particular request message will possibly betransmitted by the energy provider when the energy provider wishes tostart the computation of SB_TOTAL all over again from zero. If thismessage has been received, then the processor will proceed along the yespath to a step 108 and clear the initial setback usage request stored inmemory 24. The processor will then proceed to step 110 and set SB_TOTALequal to zero. The processor will proceed from step 110 through junctionB back to step 32. Referring again to step 56, in the event that arequest to initialize the setback usage has not been received, theprocessor will proceed directly to step 32. It is thus to be appreciatedthat the processor may have sent a message to the energy provider instep 102 without initializing SB_TOTAL if the processor has not receivedthe initialized setback usage request. On the other hand, if theprocessor has received the initialized setback usage request, then theSB_TOTAL will be set equal to zero in step 110.

Referring again to step 32, inquiry is made as to whether SB_ACTIVE isequal to one. It is to be appreciated that SB_ACTIVE may either be oneor zero after having processed a usage request through steps 98-110.Assuming that SB_ACTIVE is still equal to one, then the processor willproceed along the yes path to step 70 and inquire as to whether SB_TIMERequals zero. It will be remembered that SB_TIMER has been continuallydecrementing towards zero since having been initially set equal to “t”in step 60. This decrementing of the SB_TIMER will occur regardless ofwhether or not a setback usage request has been processed in steps98-100. At some point, the SB_TIMER will be decremented to zero whenstep 70 is encountered. When this occurs, the processor will proceedalong the yes path to step 76 and set SB_ACTIVE equal to zero beforeimplementing the computation of setback participation in step 78.Referring to the subroutine for computing setback computation in FIG. 4,the processor will again read the TIME_OF_DAY as well as the values ofSB_INITIAL_START and SB_TOTAL. It will be remembered thatSB_INITIAL_START will have been set equal to the TIME_OF_DAY occurringwhen step 106 is executed. This will be a different SB_INITIAL_STARTthan would have been normally carried by the processor as a result ofimplementing step 58. In other words, SB_INITIAL_START will now bewhatever TIME_OF_DAY it was when the setback usage request wasprocessed. The processor will proceed to inquire whether or not the readtime of day in step 80 is greater than the value of SB_INITIAL_START instep 82. As has been previously discussed, SB_CURRENT will be computedout of step 82 in either step 84 or 86. SB_TOTAL will now be computed instep 88. Referring to steps 98-110, it will be appreciated that theprevious value of SB_TOTAL will either be whatever has been computedpreviously during previous executions of the logic or SB_TOTAL will havebeen previously set equal to zero in step 110. In this latter case,SB_TOTAL will be equal to zero in step 110 as a result of a receivedmessage from the energy provider to initialize the setback usage out ofstep 56. It is hence to be appreciated that SB_TOTAL as computed in step88 will either be a continuing accumulation of previous SB_TOTAL valuesin conjunction with the SB_CURRENT value or it will be a new SB_TOTALstarting from an SB_TOTAL of zero. It is to be furthermore appreciatedthat any subsequent computation of SB_TOTAL in step 88 will include anyremaining portion of a setback mode of operation that continues ineffect. This will occur even if SB_TOTAL is cleared in step 110 as aresult of also having received a request to initialize the setbackusage.

It is to be appreciated that a preferred embodiment of a program fortracking and reporting setback usage has been disclosed. Alternationsand modifications to the thus disclosed program may occur withoutdeparting from the scope of the invention. In particular, the processormay, for instance, receive different setpoint offsets for heating andcooling. In this event, the adjustments to the current heating andcooling setpoints would be with respect to the particularly computedoffsets for each setpoint rather than the currently disclosed singleSB_SETPOINTOFFSET. It is also to be appreciated that the approach toadjusting current heating and cooling setpoints by setpoint offsets neednot occur to practice the invention. In this regard, setpoint offsetscould be replaced by setpoints communicated by the energy provider. Inthis latter case, there would be no need for logic implementingadjustments to T_(h) or T_(c). It is furthermore to be appreciated thatthe SB_TIMER may be initially set up differently so as to not be adecrementing timer from a particular time “t”. For instance, the timermay be incremented from zero at the initialization of a setback modewould work equally well.

Accordingly, the foregoing description of a preferred by way of exampleonly and the invention is to be limited by the following and equivalentsthereto.

What is claimed is:
 1. A process executable by a programmed processorwithin a thermostat for tracking and reporting the participation by thethermostat in requested setbacks of the setpoint control for thethermostat, said process comprising the steps of: responding to arequest to enter into a setback mode of operation whereby at least onesetpoint used in a normal mode of operation is changed; tracking theamount of time that elapses during the setback mode of operation; andresponding to a request for the total accumulated time that may haveelapsed during any present and past setback modes of operation wherebythe total accumulated time is transmitted to the requesting entity. 2.The process of claim 1 wherein said step of responding to a request forthe total accumulated time that may have elapsed during any present andpast setback modes of operation comprises: noting a request for thetotal accumulated time that may have elapsed during any present and pastsetback modes of operation; computing the requested total accumulatedtime by adding the tracked amount of time that has elapsed during anypresent setback mode of operation to any previously accumulated timesthat have elapsed during previous setback modes of operation.
 3. Theprocess of claim 1 wherein said step of tracking the amount of time thatelapses during the setback mode of operation comprises the step of:monitoring any termination of a requested setback mode of operation;noting the time that has elapsed in a terminated setback mode ofoperation; and adding the noted elapsed time in a terminated setbackmode of operation to any previously accumulated times that have elapsedduring previous setback modes of operation.
 4. The process of claim 3wherein said step of monitoring any termination of a requested setbackmode of operation comprises the step of: monitoring a touch sensitivebutton on the thermostat so as to note when the touch sensitive buttonhas been depressed thereby indicating that an override of the requestedsetback of the setpoint has occurred.
 5. The process of claim 1 furthercomprising the step of: responding to a request to initialize the totalaccumulated time that may have elapsed during any present and pastsetback modes of operation whereby the total accumulated time is set tozero.
 6. The process of claim 5 further comprising the steps of:computing any remaining period of time that elapses in the setback modeof operation following the setting of the total accumulated amount oftime equal to zero; computing any further amounts of time that elapseprior to termination of further setback modes of operation; and addingthe computed remaining period of time and any further computed amountsof time in further setback modes of operation so as to define a newtotal accumulated time following the initiation of the previous totalaccumulated time to zero.
 7. A thermostat having the capability to trackand report the participation by the thermostat in requested setbacks ofthe setpoint control for the thermostat, said thermostat comprising: amemory for storing information; a processor operative to receive atleast one communication requesting that the thermostat enter into asetback mode of operation whereby at least one setpoint used in a normalmode of operation is changed, said processor being operative to storeinformation contained in the communication in said memory, saidprocessor being operative to track the amount of time that elapsesduring the setback mode of operation, said processor being furthermoreoperative to respond to any communication requesting total accumulatedtime that may have elapsed during any present and past setback modes ofoperation whereby the total accumulated time is transmitted to theentity requesting the total accumulated time.
 8. The thermostat of claim7 wherein said processor is furthermore operative in response to arequest for the total accumulated time that may have elapsed during anypresent and past setback modes of operation, to compute the requestedtotal accumulated time by adding the tracked amount of time that haselapsed during any present setback mode of operation to any previouslyaccumulated times that have elapsed during previous setback modes ofoperation.
 9. The thermostat of claim 7 wherein said processor isfurthermore operative when tracking the amount of time that elapsesduring the setback mode of operation to monitor any termination of arequested setback mode of operation and to note the time that haselapsed in a terminated setback mode of operation and to add the notedelapsed time in a terminated setback mode of operation to any previouslyaccumulated times stored in the memory that have elapsed during previoussetback modes of operation.
 10. The thermostat of claim 7 wherein saidthermostat furthermore comprises at least one touch sensitive operationwhich is depressed when a setback mode of operation is to be terminatedand wherein said processor is operative to store an indication that suchtouch sensitive button has been depressed in memory as an indicationthat a requested setback mode of operation is to be terminated.
 11. Thethermostat of claim 7 wherein said processor is furthermore operative torespond to a communication requesting that the total accumulated timethat may have elapsed during any present and past setback modes ofoperation be cleared whereby the total accumulated time is set to zero.12. The thermostat of claim 11 wherein said processor is furthermoreoperative to compute any remaining period of time that elapses in thesetback mode of operation occurring when the total accumulated amount oftime is set equal to zero and is still furthermore operative to computeany further amounts of time that elapse prior to termination of furthersetback modes of operation and to add the computed remaining period oftime and any further computed amount of time in further setback modes ofoperation so as to define a new total accumulated amount of time of zerofollowing the initialization of the previous total accumulated time tozero.